#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
package ${package}.serviceapi;

import ${package}.serviceapi.dto.TodoDTO;
import ${package}.serviceapi.dto.ErrorResponse;

import io.swagger.annotations.*;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringCodegen", date = "2019-04-18T15:43:55.842+08:00")

@Api(value = "todos", description = "the todos API")
@RequestMapping(value = "/${artifactId}/serviceapi/v1")
public interface TodosServiceApi {

    @ApiOperation(value = "删除待办事项", notes = "删除待办事项", response = TodoDTO.class, tags={ "rotatodo", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "成功", response = TodoDTO.class),
        @ApiResponse(code = 500, message = "失败", response = ErrorResponse.class) })
    @RequestMapping(value = "/todos/delete",
        produces = { "application/json" }, 
        method = RequestMethod.POST)
    TodoDTO deleteTodoById(@ApiParam(value = "待办事项ID", required = true) @RequestParam(value = "id", required = true) Integer id



);


    @ApiOperation(value = "创建待办事项", notes = "创建待办事项", response = TodoDTO.class, tags={ "rotatodo", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "成功", response = TodoDTO.class),
        @ApiResponse(code = 500, message = "失败", response = ErrorResponse.class) })
    @RequestMapping(value = "/todos/create",
        produces = { "application/json" }, 
        method = RequestMethod.POST)
    TodoDTO insertTodo(

@ApiParam(value = "待办事项"  ) @RequestBody TodoDTO createTodo

);


    @ApiOperation(value = "查询待办事项", notes = "查询待办事项", response = TodoDTO.class, responseContainer = "List", tags={ "rotatodo", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "成功", response = TodoDTO.class, responseContainer = "List"),
        @ApiResponse(code = 400, message = "失败", response = ErrorResponse.class) })
    @RequestMapping(value = "/todos/query",
        produces = { "application/json" }, 
        method = RequestMethod.GET)
    List<TodoDTO> selectTodoFindAll(@ApiParam(value = "排班日期", required = true) @RequestParam(value = "dutyDate", required = true) Long dutyDate



,@ApiParam(value = "当前用户", required = true) @RequestParam(value = "currentUser", required = true) String currentUser



);


    @ApiOperation(value = "更新待办事项", notes = "更新待办事项", response = TodoDTO.class, tags={ "rotatodo", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "成功", response = TodoDTO.class),
        @ApiResponse(code = 500, message = "失败", response = ErrorResponse.class) })
    @RequestMapping(value = "/todos/update",
        produces = { "application/json" }, 
        method = RequestMethod.POST)
    TodoDTO updateTodoById(

@ApiParam(value = "待办事项"  ) @RequestBody TodoDTO updateTodo

);

}
